Verification of Software Product Lines Using Contracts

نویسنده

  • Thomas Thüm
چکیده

Software product lines are widely used to achieve high reuse of code artifacts for similar software products. While there are many efficient techniques to implement product lines, such as feature-oriented programming, the analysis and verification of product lines got only little attention so far. But as product lines are increasingly used in safety critical scenarios, efficient verification techniques are indispensable. We give an overview on the state-of-the-art in product-line verification, in which we classify approaches according to their strategy to scale specification and verification approaches known from single-system engineering. We propose to use contracts (i.e., preconditions and postconditions) to specify the intended behavior of a product line implemented with featureoriented programming. Based on these contracts, we discuss different approaches to verify that all products of a product line fulfill its specification. Keywords-Software product lines, feature-oriented programming, design by contract, specification, verification

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Product-line specification and verification with feature-oriented contracts

Variability is ubiquitous in today’s software development. While techniques to efficiently implement software product lines are used for decades, verification techniques have been a hot research topic in the last years. We give an overview on how existing verification techniques were applied to product lines. Based on our insights, we overcome two shortcomings of previous research on product-li...

متن کامل

Variability Hiding in Contracts for Dependent Software Product Lines

Software product lines are used to efficiently develop and verify similar software products. While they focus on reuse of artifacts between products, a product line may also be reused itself in other product lines. A challenge with such dependent product lines is evolution; every change in a product line may influence all dependent product lines. With variability hiding, we aim to hide certain ...

متن کامل

Product-Line Verification with Abstract Contracts

Software product lines are used for highly efficient development of software products with a common code base. As they are used increasingly often in safety-critical systems, means of verification have come into focus of research, but efficient verifications of software product lines are still a challenge. To verify a software product lines all its products need to be verified. Different approa...

متن کامل

Contract-Aware Feature Composition

Feature-oriented programming is a paradigm to develop software product lines, in which products can be generated by composing feature modules. Design by contract is a development methodology, in which methods are specified by annotating them with contracts. Researchers propose to use such contracts to specify feature modules in order to perform different product-line analysis-techniques such as...

متن کامل

Bridging the Gap Between COTS Product Reuse and Formal Methods: A Case Study

Reusable commercial off-the-shelf (COTS) products are routinely employed in development of software systems. However, no systematic techniques are available for specification or verification of critical aspects of such systems. This paper explains that the dependencies between a critical subsystem and a COTS product can be isolated through formally-stated mathematical and programmatic interface...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012